iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
IT 管理

電腦到底是怎麼運作的?一起來認識作業系統吧!系列 第 8

Day8 作業系統與處理器間的關係(2)

  • 分享至 

  • xImage
  •  

昨天講完了作業系統的程序、進程與多工處理,今天我們來講講排程。昨天講到作業系統能夠多工處理,那要讓他能夠達到「多工」我們也要幫他安排行程吧!如果沒有好好分配的話才達不到多工勒,所以排程也很重要喔!

排程(Scheduling):決定哪個進程在何時執行的過程。作業系統使用不同的排程演算法來確定如何分配 CPU 時間給各個進程,下面來介紹幾個常見的排程。

1.先來先服務(First Come, First Serve, FCFS):
進程按進入系統的先後順序執行。進程進入 CPU 後會一直執行到完成,適合批處理系統,但不適合互動式系統,因為可能導致長時間等待。

2.短作業優先(Shortest Job First, SJF):
優先執行執行時間最短的進程,這樣可以最小化平均等待時間,但需要預測每個進程的執行時間,在現實中不容易達成。

3.優先權排程(Priority Scheduling):
給每個進程設定優先級,優先級高的進程會優先獲得 CPU 資源。可能導致「饑餓問題」,使低優先級的進程永遠得不到執行。

4.輪轉排程(Round Robin, RR):
每個進程在 CPU 上執行固定的時間片(Time Slice),若時間片用完且未完成,作業系統將其切換到等待隊列中,並給下一個進程 CPU 時間。是一種公平的排程方式,特別適合互動式系統。

5.多級隊列排程(Multilevel Queue Scheduling):
將進程分成多個隊列,每個隊列可以使用不同的排程策略。例如,系統進程可能會分配到高優先級隊列,使用短作業優先,而普通進程則分配到低優先級隊列,使用先來先服務。


上一篇
Day7 作業系統與處理器間的關係(1)
下一篇
Day9 作業系統與處理器間的關係(3)
系列文
電腦到底是怎麼運作的?一起來認識作業系統吧!13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言